{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.preprocessing import RobustScaler\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.metrics import accuracy_score, recall_score, precision_score\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "default = pd.read_csv('../data/credit_card_default.csv')\n",
    "default.rename(columns=lambda x: x.lower(), inplace=True)\n",
    "default.rename(columns={'pay_0':'pay_1','default payment next month':'default'}, inplace=True)\n",
    "\n",
    "default['grad_school'] = (default['education'] == 1).astype(int)\n",
    "default['university'] = (default['education'] == 2).astype(int)\n",
    "default['high_school'] = (default['education'] == 3).astype(int)\n",
    "default.drop('education', axis=1, inplace=True)\n",
    "\n",
    "default['married_male'] = ((default['sex']==1) & (default['marriage'] == 1)).astype(int)\n",
    "default['not_married_female'] = ((default['sex']==2) & (default['marriage'] != 1)).astype(int)\n",
    "default.drop(['sex','marriage'], axis=1, inplace=True)\n",
    "\n",
    "# For pay_n features if >0 then it means the customer was delayed on that month\n",
    "pay_features = ['pay_' + str(i) for i in range(1,7)]\n",
    "for p in pay_features:\n",
    "    default[p] = (default[p] > 0).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>limit_bal</th>\n",
       "      <th>age</th>\n",
       "      <th>pay_1</th>\n",
       "      <th>pay_2</th>\n",
       "      <th>pay_3</th>\n",
       "      <th>pay_4</th>\n",
       "      <th>pay_5</th>\n",
       "      <th>pay_6</th>\n",
       "      <th>bill_amt1</th>\n",
       "      <th>bill_amt2</th>\n",
       "      <th>...</th>\n",
       "      <th>pay_amt3</th>\n",
       "      <th>pay_amt4</th>\n",
       "      <th>pay_amt5</th>\n",
       "      <th>pay_amt6</th>\n",
       "      <th>default</th>\n",
       "      <th>grad_school</th>\n",
       "      <th>university</th>\n",
       "      <th>high_school</th>\n",
       "      <th>married_male</th>\n",
       "      <th>not_married_female</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20000</td>\n",
       "      <td>24</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3913</td>\n",
       "      <td>3102</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>120000</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2682</td>\n",
       "      <td>1725</td>\n",
       "      <td>...</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>0</td>\n",
       "      <td>2000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>90000</td>\n",
       "      <td>34</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>29239</td>\n",
       "      <td>14027</td>\n",
       "      <td>...</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>5000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>50000</td>\n",
       "      <td>37</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>46990</td>\n",
       "      <td>48233</td>\n",
       "      <td>...</td>\n",
       "      <td>1200</td>\n",
       "      <td>1100</td>\n",
       "      <td>1069</td>\n",
       "      <td>1000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>50000</td>\n",
       "      <td>57</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8617</td>\n",
       "      <td>5670</td>\n",
       "      <td>...</td>\n",
       "      <td>10000</td>\n",
       "      <td>9000</td>\n",
       "      <td>689</td>\n",
       "      <td>679</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   limit_bal  age  pay_1  pay_2  pay_3  pay_4  pay_5  pay_6  bill_amt1  \\\n",
       "0      20000   24      1      1      0      0      0      0       3913   \n",
       "1     120000   26      0      1      0      0      0      1       2682   \n",
       "2      90000   34      0      0      0      0      0      0      29239   \n",
       "3      50000   37      0      0      0      0      0      0      46990   \n",
       "4      50000   57      0      0      0      0      0      0       8617   \n",
       "\n",
       "   bill_amt2         ...          pay_amt3  pay_amt4  pay_amt5  pay_amt6  \\\n",
       "0       3102         ...                 0         0         0         0   \n",
       "1       1725         ...              1000      1000         0      2000   \n",
       "2      14027         ...              1000      1000      1000      5000   \n",
       "3      48233         ...              1200      1100      1069      1000   \n",
       "4       5670         ...             10000      9000       689       679   \n",
       "\n",
       "   default  grad_school  university  high_school  married_male  \\\n",
       "0        1            0           1            0             0   \n",
       "1        1            0           1            0             0   \n",
       "2        0            0           1            0             0   \n",
       "3        0            0           1            0             0   \n",
       "4        0            0           1            0             1   \n",
       "\n",
       "   not_married_female  \n",
       "0                   0  \n",
       "1                   1  \n",
       "2                   1  \n",
       "3                   0  \n",
       "4                   0  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "default.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Bill amount minus payment\n",
    "for i in range(1,7):\n",
    "    i = str(i)\n",
    "    new_var_name = 'bill_minus_pay' + i\n",
    "    default[new_var_name] = default['bill_amt'+i] - default['pay_amt'+i]\n",
    "    \n",
    "# Reducing the 6 bill amount features to 1\n",
    "bill_amt_features = ['bill_amt'+str(i) for i in range(1,7)]\n",
    "bill_amt_pca = PCA(n_components=1)\n",
    "default['bill_amt_new_feat'] = bill_amt_pca.fit_transform(default[bill_amt_features])[:,0]\n",
    "default.drop(bill_amt_features, axis=1, inplace=True)\n",
    "\n",
    "# Reducing the 5 pay_i features to 2\n",
    "pay_features = ['pay_'+str(i) for i in range(2,7)]\n",
    "pay_features_pca = PCA(n_components=2).fit_transform(default[pay_features])\n",
    "default['new_pay1'] = pay_features_pca[:,0]\n",
    "default['new_pay2'] = pay_features_pca[:,1]\n",
    "default.drop(pay_features, axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "money_features = ['limit_bal', 'pay_amt1', 'pay_amt2', 'pay_amt3', 'pay_amt4', 'pay_amt5', 'pay_amt6',\n",
    "                  'bill_minus_pay1', 'bill_minus_pay2', 'bill_minus_pay3', 'bill_minus_pay4',\n",
    "                  'bill_minus_pay5', 'bill_minus_pay6', 'bill_amt_new_feat']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "limit_bal            1.683446e+10\n",
       "pay_amt1             2.743423e+08\n",
       "pay_amt2             5.308817e+08\n",
       "pay_amt3             3.100051e+08\n",
       "pay_amt4             2.454286e+08\n",
       "pay_amt5             2.334266e+08\n",
       "pay_amt6             3.160383e+08\n",
       "bill_minus_pay1      5.354403e+09\n",
       "bill_minus_pay2      5.265815e+09\n",
       "bill_minus_pay3      4.801847e+09\n",
       "bill_minus_pay4      4.121718e+09\n",
       "bill_minus_pay5      3.666711e+09\n",
       "bill_minus_pay6      3.618178e+09\n",
       "bill_amt_new_feat    2.418877e+10\n",
       "dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "default[money_features].var()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "default[money_features] = default[money_features]/1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "limit_bal            16834.455682\n",
       "pay_amt1               274.342256\n",
       "pay_amt2               530.881709\n",
       "pay_amt3               310.005092\n",
       "pay_amt4               245.428561\n",
       "pay_amt5               233.426624\n",
       "pay_amt6               316.038289\n",
       "bill_minus_pay1       5354.403462\n",
       "bill_minus_pay2       5265.815238\n",
       "bill_minus_pay3       4801.847004\n",
       "bill_minus_pay4       4121.718431\n",
       "bill_minus_pay5       3666.710625\n",
       "bill_minus_pay6       3618.177789\n",
       "bill_amt_new_feat    24188.771200\n",
       "dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "default[money_features].var()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "target_name = 'default'\n",
    "X = default.drop('default', axis=1)\n",
    "feature_names = X.columns\n",
    "robust_scaler = RobustScaler()\n",
    "X = robust_scaler.fit_transform(X)\n",
    "y = default[target_name]\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=125, stratify=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Accuracy: 0.802\n",
      "Test Recall: 0.32981927710843373\n"
     ]
    }
   ],
   "source": [
    "parameter_grid = {'n_estimators': [25,50,100], \n",
    "                  'max_depth': [15,20,30],\n",
    "                  'max_features': ['auto','sqrt']}\n",
    "\n",
    "RF_classifier = GridSearchCV(RandomForestClassifier(random_state=12),\n",
    "                             param_grid=parameter_grid, refit=True,\n",
    "                             scoring='recall', cv=10, n_jobs=-1)\n",
    "\n",
    "RF_classifier.fit(X_train, y_train)\n",
    "y_pred_test = RF_classifier.predict(X_test)\n",
    "test_accuracy = accuracy_score(y_pred=y_pred_test, y_true=y_test)\n",
    "test_recall = recall_score(y_pred=y_pred_test, y_true=y_test)\n",
    "print('Test Accuracy:', test_accuracy)\n",
    "print('Test Recall:', test_recall)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'max_depth': 30, 'max_features': 'auto', 'n_estimators': 100}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "RF_classifier.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Recall:  71.39\n",
      "Precision:  37.38\n"
     ]
    }
   ],
   "source": [
    "y_pred_proba = RF_classifier.predict_proba(X_test)[:,1]\n",
    "y_pred_test = (y_pred_proba >= 0.2).astype('int')\n",
    "print(\"Recall: \", 100*round(recall_score(y_pred=y_pred_test, y_true=y_test),4))\n",
    "print(\"Precision: \", 100*round(precision_score(y_pred=y_pred_test, y_true=y_test),4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "feature_importances = pd.Series(data=RF_classifier.best_estimator_.feature_importances_, index=feature_names)\n",
    "feature_importances.sort_values().plot(kind='barh', ax=ax)\n",
    "ax.set_xlabel('Importance')\n",
    "ax.set_ylabel('Feature')\n",
    "ax.set_title('Feature importances from Random Forest model')\n",
    "ax.grid();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
